package com.jm.web.tags.toolbar;

import com.jm.utils.StringHelper;
import com.jm.web.builder.ToolbarBuilder;
import com.jm.web.form.Toolbar;
import com.jm.web.form.support.FormItem;
import com.jm.web.tags.support.BaseTag;

/**
 * @author yanjie
 *
 * Sep 17, 2011 5:01:02 PM
 */
public class ToolBarTag extends BaseTag{
	private static final long serialVersionUID = 3175834247910692202L;
	
	protected Toolbar toolbar ;
	
	@Override
	public String getBuilderName() {
		return ToolbarBuilder.class.getName();
	}
	
	@Override
	protected void preStartTag() {
		// TODO Auto-generated method stub
		super.preStartTag();
		toolbar = this.getPage().getToolbar();
		toolbar.InitTag(this);
	}
	
	/* 
	 * 不执行标签内部的内容
	 */
	@Override
	protected int onStartTag(){
		if(this.toolbar != null && !this.toolbar.isEnab()){
			return SKIP_BODY;
		}
		
		if(this.getPage().isExport() && !this.isEp()){
			this.toolbar.setEnab(false);
			return SKIP_BODY;
		}
		return EVAL_BODY_BUFFERED;
	}
	
	@Override
	protected void preEndTag() {
		super.preEndTag();
		//加载工具栏的配置
		String strXml = "";
		if(this.bodyContent != null)
			strXml = StringHelper.getValue(this.bodyContent.getString()).trim();
		
		FormItem.LoadFromXML(StringHelper.Format("<toolbar>%1$s</toolbar>",strXml),toolbar);
		toolbar.init();
	}
	
	public void setXlsConfirm(String strValue){
		SetExtValue("XLSCONFIRM",strValue);
	}
	public void setXlsDisabled(String strValue){
		SetExtValue("XLSDISABLED",strValue);
	}
	
	public void setSearchConfirm(String strValue){
		SetExtValue("SEARCHCONFIRM",strValue);
	}
	public void setNewConfirm(String strValue){
		SetExtValue("NEWCONFIRM",strValue);
	}
	public void setSaveConfirm(String strValue){
		SetExtValue("SAVECONFIRM",strValue);
	}
	public void setCancelConfirm(String strValue){
		SetExtValue("CANCELCONFIRM",strValue);
	}
	public void setDeleteConfirm(String strValue){
		SetExtValue("DELETECONFIRM",strValue);
	}
	public void setCopyConfirm(String strValue){
		SetExtValue("COPYCONFIRM",strValue);
	}
	public void setStartConfirm(String strValue){
		SetExtValue("STARTCONFIRM",strValue);
	}
	public void setCheckConfirm(String strValue){
		SetExtValue("CHECKCONFIRM",strValue);
	}
	public void setExportConfirm(String strValue){
		SetExtValue("EXPORTCONFIRM",strValue);
	}
	public void setPrintConfirm(String strValue){
		SetExtValue("PRINTCONFIRM",strValue);
	}
	public void setHelpConfirm(String strValue){
		SetExtValue("HELPCONFIRM",strValue);
	}
	
	
	public void setXlsConfirmText(String strValue){
		SetExtValue("XLSCONFIRMTEXT",strValue);
	}
	public void setSearchConfirmText(String strValue){
		SetExtValue("SEARCHCONFIRMTEXT",strValue);
	}
	public void setNewConfirmText(String strValue){
		SetExtValue("NEWCONFIRMTEXT",strValue);
	}
	public void setSaveConfirmText(String strValue){
		SetExtValue("SAVECONFIRMTEXT",strValue);
	}
	public void setCancelConfirmText(String strValue){
		SetExtValue("CANCELCONFIRMTEXT",strValue);
	}
	public void setDeleteConfirmText(String strValue){
		SetExtValue("DELETECONFIRMTEXT",strValue);
	}
	public void setCopyConfirmText(String strValue){
		SetExtValue("COPYCONFIRMTEXT",strValue);
	}
	public void setStartConfirmText(String strValue){
		SetExtValue("STARTCONFIRMTEXT",strValue);
	}
	public void setCheckConfirmText(String strValue){
		SetExtValue("CHECKCONFIRMTEXT",strValue);
	}
	public void setExportConfirmText(String strValue){
		SetExtValue("EXPORTCONFIRMTEXT",strValue);
	}
	public void setPrintConfirmText(String strValue){
		SetExtValue("PRINTCONFIRMTEXT",strValue);
	}
	public void setHelpConfirmText(String strValue){
		SetExtValue("HELPCONFIRMTEXT",strValue);
	}
	
	public void setSearchText(String strValue){
		SetExtValue("SEARCHTEXT",strValue);
	}
	public void  setNewText(String strValue){
		SetExtValue("NEWTEXT",strValue);
	}
	public void setSaveText(String strValue){
		SetExtValue("SAVETEXT",strValue);
	}
	public void setCancelText(String strValue){
		SetExtValue("CANCELTEXT",strValue);
	}
	public void setDeleteText(String strValue){
		SetExtValue("DELETETEXT",strValue);
	}
	public void setCopyText(String strValue){
		SetExtValue("COPYTEXT",strValue);
	}
	public void setStartText(String strValue){
		SetExtValue("STARTTEXT",strValue);
	}
	public void setCheckText(String strValue){
		SetExtValue("CHECKTEXT",strValue);
	}
	
	public void setSearchAction(String strValue){
		SetExtValue("SEARCHACTION",strValue);
	}
	public void  setNewAction(String strValue){
		SetExtValue("NEWACTION",strValue);
	}
	public void setSaveAction(String strValue){
		SetExtValue("SAVEACTION",strValue);
	}
	public void setCancelAction(String strValue){
		SetExtValue("CANCELACTION",strValue);
	}
	public void setDeleteAction(String strValue){
		SetExtValue("DELETEACTION",strValue);
	}
	public void setCopyAction(String strValue){
		SetExtValue("COPYACTION",strValue);
	}
	public void setStartAction(String strValue){
		SetExtValue("STARTACTION",strValue);
	}
	public void setCheckAction(String strValue){
		SetExtValue("CHECKACTION",strValue);
	}
	
	public void setSearchActionValue(String strValue){
		SetExtValue("SEARCHACTIONVALUE",strValue);
	}
	public void  setNewActionValue(String strValue){
		SetExtValue("NEWACTIONVALUE",strValue);
	}
	public void setSaveActionValue(String strValue){
		SetExtValue("SAVEACTIONVALUE",strValue);
	}
	public void setCancelActionValue(String strValue){
		SetExtValue("CANCELACTIONVALUE",strValue);
	}
	public void setDeleteActionValue(String strValue){
		SetExtValue("DELETEACTIONVALUE",strValue);
	}
	public void setCopyActionValue(String strValue){
		SetExtValue("COPYACTIONVALUE",strValue);
	}
	public void setStartActionValue(String strValue){
		SetExtValue("STARTACTIONVALUE",strValue);
	}
	public void setCheckActionValue(String strValue){
		SetExtValue("CHECKACTIONVALUE",strValue);
	}
	
	public void setSearchIcon(String strValue){
		SetExtValue("SEARCHICON",strValue);
	}
	public void  setNewIcon(String strValue){
		SetExtValue("NEWICON",strValue);
	}
	public void setSaveIcon(String strValue){
		SetExtValue("SAVEICON",strValue);
	}
	public void setCancelIcon(String strValue){
		SetExtValue("CANCELICON",strValue);
	}
	public void setDeleteIcon(String strValue){
		SetExtValue("DELETEICON",strValue);
	}
	public void setCopyIcon(String strValue){
		SetExtValue("COPYICON",strValue);
	}
	public void setStartIcon(String strValue){
		SetExtValue("STARTICON",strValue);
	}
	public void setCheckIcon(String strValue){
		SetExtValue("CHECKICON",strValue);
	}
	
	public void setSearchMenuWidth(String strValue){
		SetExtValue("SEARCHMENUWIDTH",strValue);
	}
	public void setNewMenuWidth(String strValue){
		SetExtValue("NEWMENUWIDTH",strValue);
	}
	public void setSaveMenuWidth(String strValue){
		SetExtValue("SAVEMENUWIDTH",strValue);
	}
	public void setCancelMenuWidth(String strValue){
		SetExtValue("CANCELMENUWIDTH",strValue);
	}
	public void setDeleteMenuWidth(String strValue){
		SetExtValue("DELETEMENUWIDTH",strValue);
	}
	public void setCopyMenuWidth(String strValue){
		SetExtValue("COPYMENUWIDTH",strValue);
	}
	public void setStartMenuWidth(String strValue){
		SetExtValue("STARTMENUWIDTH",strValue);
	}
	public void setCheckMenuWidth(String strValue){
		SetExtValue("CHECKMENUWIDTH",strValue);
	}
	public void setExportMenuWidth(String strValue){
		SetExtValue("EXPORTMENUWIDTH",strValue);
	}
	public void setPrintMenuWidth(String strValue){
		SetExtValue("PRINTMENUWIDTH",strValue);
	}
	public void setHelpMenuWidth(String strValue){
		SetExtValue("HELPMENUWIDTH",strValue);
	}
	
	public void setSearchEnab(String strSearchEnab) {
		SetExtValue("SEARCHENAB",strSearchEnab);
	}

	public void setSearchDisabled(String strSearchDisabled) {
		SetExtValue("SEARCHDISABLED",strSearchDisabled);
	}
	
	public void setNewOption(Object optionMap) {
		SetExtValue("NEWOPTION",optionMap);
	}
	
	public void setSearchOption(Object optionObj) {
		SetExtValue("SEARCHOPTION",optionObj);
	}
	
	public void setSaveOption(Object optionObj) {
		SetExtValue("SAVEOPTION",optionObj);
	}
	
	public void setCancelOption(Object optionObj) {
		SetExtValue("CANCELOPTION",optionObj);
	}
	
	public void setDeleteOption(Object optionObj) {
		SetExtValue("DELETEOPTION",optionObj);
	}
	
	public void setCopyOption(Object optionObj) {
		SetExtValue("COPYOPTION",optionObj);
	}
	
	public void setStartOption(Object optionObj) {
		SetExtValue("STARTOPTION",optionObj);
	}
	
	public void setCheckOption(Object optionObj) {
		SetExtValue("CHECKOPTION",optionObj);
	}
	
	public void setExportOption(Object optionObj) {
		SetExtValue("EXPORTOPTION",optionObj);
	}
	
	public void setPrintOption(Object optionObj) {
		SetExtValue("PRINTOPTION",optionObj);
	}
	
	public void setHelpOption(Object optionObj) {
		SetExtValue("HELPOPTION",optionObj);
	}
	
	public void setNewEnab(String strNewEnab) {
		SetExtValue("NEWENAB",strNewEnab);
	}

	public void setNewDisabled(String strNewDisabled) {
		SetExtValue("NEWDISABLED",strNewDisabled);
	}

	public void setSaveEnab(String strSaveEnab) {
		SetExtValue("SAVEENAB",strSaveEnab);
	}

	public void setSaveDisabled(String strSaveDisabled) {
		SetExtValue("SAVEDISABLED",strSaveDisabled);
	}
	
	public void setCancelEnab(String strValue) {
		SetExtValue("CANCELENAB",strValue);
	}
	
	public void setDeleteEnab(String strDeleteEnab) {
		SetExtValue("DELETEENAB",strDeleteEnab);
	}
	
	public void setCancelDisabled(String strValue) {
		SetExtValue("CANCELDISABLED",strValue);
	}
	
	public void setDeleteDisabled(String strDeleteDisabled) {
		SetExtValue("DELETEDISABLED",strDeleteDisabled);
	}

	public void setCopyEnab(String strCopyEnab) {
		SetExtValue("COPYENAB",strCopyEnab);
	}

	public void setCopyDisabled(String strCopyDisabled) {
		SetExtValue("COPYDISABLED",strCopyDisabled);
	}

	public void setStartEnab(String strStartEnab) {
		SetExtValue("STARTENAB",strStartEnab);
	}

	public void setStartDisabled(String strStartDisabled) {
		SetExtValue("STARTDISABLED",strStartDisabled);
	}

	public void setCheckEnab(String strCheckEnab) {
		SetExtValue("CHECKENAB",strCheckEnab);
	}

	public void setCheckDisabled(String strCheckDisabled) {
		SetExtValue("CHECKDISABLED",strCheckDisabled);
	}

	public void setExportEnab(String strExportEnab) {
		SetExtValue("EXPORTENAB",strExportEnab);
	}

	public void setExportDisabled(String strExportDisabled) {
		SetExtValue("EXPORTDISABLED",strExportDisabled);
	}

	public void setPrintEnab(String strPrintEnab) {
		SetExtValue("PRINTENAB",strPrintEnab);
	}

	public void setPrintDisabled(String strPrintDisabled) {
		SetExtValue("PRINTDISABLED",strPrintDisabled);
	}

	public void setHelpEnab(String strHelpEnab) {
		SetExtValue("HELPENAB",strHelpEnab);
	}

	public void setHelpDisabled(String strHelpDisabled) {
		SetExtValue("HELPDISABLED",strHelpDisabled);
	}

	public Toolbar getToolbar() {
		return this.toolbar;
	}

	@Override
	public void clear() {
		toolbar = null;
		super.clear();
	}
	
}
